package com.cskaoyan.javase.oop1._3question;

/**
 * @description: 探讨问题
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 1.类加载的触发
 *      类加载它的触发机制是"懒加载",只有等到必须要类加载时JVM才会类加载一个类(不加载已经不行了)
 *      我们把一定会触发类加载的情况称之为"类加载的时机"
 * 类加载的时机:
 *      a.创建对象,会触发该类的类加载
 *      b.启动一个类的main方法,会触发该类的类加载
 * 在一次程序的运行过程中,不论什么情况触发了类加载,一个类的类加载都仅有一次
 *
 * 2.成员变量的赋值问题
 * 1.成员变量的赋值方式非常多,但是不管有多少方式,默认初始化具有默认值的过程永远是在第一步
 * 默认初始化具有默认值后,其余的赋值方式才会开始生效
 *
 * 2.创建对象过程中的赋值方式之一:
 *      直接在声明定义成员变量的后面写等号赋值,这种赋值方式称之为"显式赋值"
 *      显式赋值给成员变量赋值是在创建对象过程中完成的
 *
 * 3.显式赋值一定在默认初始化具有默认值之后
 *
 */
public class Demo {
    public static void main(String[] args) {
        Animal a = new Animal();
        System.out.println(a.age);
        System.out.println(a.name);

    }
}
class Animal{
    String name = "大黄";
    int age = 4;

    public void shout(){
        System.out.println("嗷嗷叫~");
        System.out.println(name);
    }

    /*public static void test2(){
        System.out.println(name);
        System.out.println(age);
    }*/
}
